package com.itheima.Test;
import java.util.Scanner;

public class NanDian2 {
    /*
    现在有这么一个数组: int[] arr = {22, 33, 22, 33, 22}, 现在键盘录入一个数, 查找该数在数组中的
    所有索引位置并将索引值记录到一个新的数组中, 将新的数组打印输出,效果如下:

    请输入要查找的元素:
    22
    [0, 2, 4]

    请输入要查找的元素:
    11
    您要查找的元素不存在!
 */

        public static void main(String[] args) {
            //1. 创建一个数组
            int[] arr = {22, 33, 22, 33, 22};

            //2. 键盘录入要查找的元素
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入要查找的元素:");
            int num = sc.nextInt();

        /*
            3. 核心思路: 要拿一个新数组来记录num在arr中出现的所有索引值
                首先要明确num在arr中出现了几次,出现了几次,新数组长度就是几
         */
            //3.1 定义一个计数器
            int count = 0;

            //3.2 遍历arr
            for (int i = 0; i < arr.length; i++) {
                if (num == arr[i]){
                    count++;
                }
            }
            //int[] indexArr = new int[count];
            //4. 根据count来确定新数组长度,以及判断出要查找的元素在arr中存在
            if (count == 0 ){
                System.out.println("您要查找的元素不存在!");
            }else {
                //4.1 定义一个新数组,用来管理num在arr中出现的所有索引值
                int[] indexArr = new int[count];                //int[] indexArr = {0,0,0}

                //5. 遍历arr,得到num值的所有索引位置
                int j = 0;      // 用来管理indexArr的索引,用来记录当前数组已经记录到哪个索引位置了
                for (int i = 0; i < arr.length; i++) {
                    if (num == arr[i]){
                        // 5.1 将i索引记录到 indexArr,
                        indexArr[j] = i;
                        j++;//0,1,2
                    }
                }

                // 6. 遍历输出indexArr即可
                for (int i = 0; i < indexArr.length; i++) {
                    if (i == 0) {
                        System.out.print("["+indexArr[i] + ", ");
                    }else if (i != indexArr.length -1){
                        System.out.print(indexArr[i] + ", ");
                    }else {
                        System.out.println(indexArr[i] + "]");
                    }
                }
            }

        }

    }
